#! /usr/bin/env python
import math

def distancia(a,b):
	return math.sqrt((int(b[0])-int(a[0]))**2 + (int(b[1])-int(a[1]))**2 )


   
fo = open("testej2.in", "r")
primeraLinea = fo.readline().split()

#Trato la entrada
n = int(primeraLinea[0])
k = int(primeraLinea[1])
puntos = [] # este es mi arreglo de puntos no se toca
#print n
#print k
for line in fo:
	if line != "0":
		a = line.split()
		puntos.append((int(a[0]),int(a[1])))
fo.close()		
#print puntos	#Esta es la entrada de puntos


#Recorro siempre de la diagonal para arriba porque no tiene sentido sacar la distancia de del nodo A y B , y despues sacar la del B y A

#ESTO ES SOLO PARA CONTROL son todas las distancias entre aristas diferentes sin repetir calculos
aristas = []  
for i in range(0,n-1):
	#for j in range(0,n): # para verificar todos los nodos
	for j in range(i+1,n):
		if i != j:
			d = distancia(puntos[i], puntos[j])
			aristas.append([i,j,d])
		


#Recorro siempre de la diagonal para arriba porque no tiene sentido sacar la distancia de del nodo A y B , y despues sacar la del B y A
#ESTA ES LA SOLUCION DEL EJERCICIO

puntosxDist = []# numero de nodo , indice y distancia
for i in range(0,n):
	puntosxDist.append([i,-1,-1])

for i in range(0,n-1):
	for j in range(i+1,n):
		d = distancia(puntos[i], puntos[j])
		#encontre una distancia mas corta entonces actualizo el nuevo minimo
		if puntosxDist[j][2] == -1 or puntosxDist[j][2] > d :
			#Actualizo mis datos
				puntosxDist[j][1] = i
				puntosxDist[j][2]= d
					
#Complejidad O(n^2) 
		
#print puntosxDist

#print aristas
fo = open("testej2.out", "wb")

fo.write("Tengo estos puntos\n")
for i in range(0,n):
	fo.write(str(puntos[i]))
	
fo.write("\n\n\n")

fo.write("todas las distancias de todos contra todos\n")

elem = aristas[0][0]
for i in range(0,len(aristas)):
	if elem == aristas[i][0]:
		fo.write( str(aristas[i]))
	else:
		
		elem = aristas[i][0]
		fo.write("\n"+ str(aristas[i]))	

fo.write("\n\n\n")

fo.write("Nuestra Solucion\n")
for i in range(0,len(puntosxDist)):
	fo.write( "nodo " +  str(i) + " con: " + str(puntosxDist[i]) + "\n")

